package com.tedu.oop.day4;
//测试static
public class Test1_Static {
    public static void main(String[] args) {
        Student s=new Student();
        s.name="孙悟空";
        System.out.println(s.name);
        s.study();
        s.speak();
        System.out.println("=======================");
        Student s2=new Student();
        System.out.println(s2.name);
        s.study();
        s.speak();

        /**
         * 1.静态资源可以直接用类名调用
         * 2.全局共享
         * 3.优先于对象加载，随着类的加载而加载，
         * 4.比对象先进入内存，无对象时可以用类名调用
         * 5.static 不能和this super 公用  有static时 可能还没有对象
         */
        System.out.println(Student.name);
        Student.study();

    }

}
class Student{
    /**
     * static 将普通资源修饰成静态资源
     * 可以修饰成员变量，方法。写在权限修饰符之后
     *
     *
     */
    int age;
    static String name;
    static {
        System.out.println("静态代码块");
    }
    {
        System.out.println("构造代码块");
    }

    public static void study(){
       System.out.println("学习学习！");
   }
   public void speak(){
       System.out.println("说出你的梦想！");
   }



}


